One type of the instructions used in general-purpose DSP processors is a shift instruction. A shift instruction is typically a two-operand instruction. In the execution of this instruction, the data to be shifted is typically contained in one of the source operands while the amount by which the data needs to be shifted is contained in the other. A saturate condition occurs if there is an overflow in the result, when the shift data is left-shifted by the shift amount. For the specific example of signed 32-bit data, the result is limited to 0x7FFFFFFFh, which is thus considered to be the highest positive number that can be accurately represented as signed 32-bit data. The computation of this condition is often part of a timing critical path, especially if the instruction is to be executed in a single cycle, and thus can be limiting to the speed of a DSP.